package com.example.myapplication1;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

import com.example.myapplication1.dao.UserDao;
import com.example.myapplication1.model.User;

import java.util.ArrayList;
import java.util.List;

public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
    /*
    获取布局文件中的控件：
    1、在布局文件中给空间添加id
    2、在activity中定义成员变量
    3、写在setcontentview后面
    */
    private Button btn_login;
    private Button btn_reg;
    private Button btn_forget;
    private EditText et_account;
    private EditText et_password;
    private CheckBox cb_rem;

    //保存所有注册的用户
    private UserDao userDao;
    private SharedPreferences sp=null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        btn_login=findViewById(R.id.btn_login);
        //添加点击事件
        btn_login.setOnClickListener(this);

        btn_reg=findViewById(R.id.btn_reg);
        //添加点击事件
        btn_reg.setOnClickListener(this);

        btn_forget=findViewById(R.id.btn_forget);
        //添加点击事件
        btn_forget.setOnClickListener(this);

        et_account=findViewById(R.id.et_account);
        et_password=findViewById(R.id.et_password);

        cb_rem=findViewById(R.id.cb_rem);

        sp =getSharedPreferences("login_rem.txt",MODE_PRIVATE);
        if(sp!=null){
            String account=sp.getString("account",null);
            String password=sp.getString("password",null);
            //记住密码默认勾选
            if(!TextUtils.isEmpty(account)&&!TextUtils.isEmpty(password)) {
                //将内容显示在输入框中
                et_account.setText(account);
                et_password.setText(password);
                cb_rem.setChecked(true);
            }
        }

        userDao=new UserDao(LoginActivity.this);
    }

    @Override
    public void onClick(View view) {
        int id =view.getId();
        Intent intent =new Intent();
        switch (id){
            case R.id.btn_login:
                //获取输入框中内容
                String account=et_account.getText().toString();
                String password=et_password.getText().toString();
                if (account.trim().length()==0){
                    Toast.makeText(LoginActivity.this,"账号不能为空",Toast.LENGTH_SHORT).show();
                    return;//中断方法
                }
                if (password.length()==0){
                    Toast.makeText(LoginActivity.this,"密码不能为空",Toast.LENGTH_SHORT).show();
                    return;
                }
                //执行登录验证
                User user=userDao.login(account,password);
                if (user==null){
                    //说明没有找到，登录失败
                    Toast.makeText(LoginActivity.this,"账号或密码错误",Toast.LENGTH_SHORT).show();
                }else {
                    //登录成功
                    SharedPreferences.Editor edit=sp.edit();
                    if(cb_rem.isChecked()){
                        //被勾选
                        edit.putString("account",account);
                        edit.putString("password",password);
                    }else{
                        edit.clear();
                    }
                    edit.commit();
                    intent.setClass(LoginActivity.this,MainActivity.class);
                    startActivity(intent);
                }
                break;
            case R.id.btn_reg:
                intent.setClass(LoginActivity.this,RegActivity.class);
                startActivity(intent);
                break;
            case R.id.btn_forget:
                intent.setClass(LoginActivity.this,ForgetActivity.class);
                startActivity(intent);
                break;
        }
    }
}